CSS/HTML

推荐列表 站点导航

当前位置:首页 > 脚本编程 > CSS/HTML >

html5 input输入实时检测以及延时优化

来源:网络整理  作者:  发布时间:2020-12-20 10:11
这篇文章主要介绍了html5 input输入实时检测以及延时优化问题,需要的朋友参考下吧...

后来又想到解绑unbind,bind,但是解绑的时间里获取不到键盘输入的事件。

当时第一想法是,触发事件-删除定时器-添加定时器-执行函数。发现还是不好,定时器删不掉,干脆就不执行了。

以上所述就是给大家介绍的html5 input输入实时检测以及延时优化的全部内容,希望能对大家的学习有所帮助。更多相关教程请访问Html5视频教程

原理就是,每次输入修改全局变量,时间戳,延迟0.5s监测 新的时间戳和和绑定的时间戳相等,就进行下一步。

有个项目是,这么个情况,输入框,实时监测输入,触发请求。

$("#fix").on('input propertychange', function(event){ setTimeout(function(){ //延迟0.5s执行 console.log($("#fix").val()) },500); });

问题又来了,定时器是异步,虽然延迟,但是还会执行,没啥改变。

最后上网查了一下,发现一种新方法。

<input type="text" id="fix"> ------script----- var last; $("#fix").on('input propertychange', function(event){ //"#fix为你的输入框 last = event.timeStamp; //利用event的timeStamp来标记时间,这样每次事件都会修改last的值,注意last必需为全局变量 setTimeout(function(){ //设时延迟0.5s执行 if(last-event.timeStamp==0) //如果时间差为0(也就是你停止输入0.5s之内都没有其它的keyup事件发生)则做你想要做的事 { console.log($("#fix").val()) } },500); });

总结

这篇文章主要介绍了html5 input输入实时检测以及延时优化问题,有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。

上网查了一下,

赶紧加个定时器setTimeout.

第一想法是input 上的onchange()方法,试了一下,不好用,是值等更改确认了,才会触发,不即时。

$("#fix").on('input propertychange', function(event){ });

方法的确可以用,但是实时更改。发送的频率有点快啊。

-----html-----

时间戳法。

相关热词: HTML HTML5

本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供用于网络技术学习参考,学习中请遵循相关法律法规!

本文地址: https://v30.fanwenzhu.com/jiaob/cssm/6049.shtml

Copyright © www.juheyunku.com      关于 | 合作 | 声明 | 联系 | 更新 | 地图 | Tags

html5 input输入实时检测以及延时优化

2020-12-20 编辑:

后来又想到解绑unbind,bind,但是解绑的时间里获取不到键盘输入的事件。

当时第一想法是,触发事件-删除定时器-添加定时器-执行函数。发现还是不好,定时器删不掉,干脆就不执行了。

以上所述就是给大家介绍的html5 input输入实时检测以及延时优化的全部内容,希望能对大家的学习有所帮助。更多相关教程请访问Html5视频教程

原理就是,每次输入修改全局变量,时间戳,延迟0.5s监测 新的时间戳和和绑定的时间戳相等,就进行下一步。

有个项目是,这么个情况,输入框,实时监测输入,触发请求。

$("#fix").on('input propertychange', function(event){ setTimeout(function(){ //延迟0.5s执行 console.log($("#fix").val()) },500); });

问题又来了,定时器是异步,虽然延迟,但是还会执行,没啥改变。

最后上网查了一下,发现一种新方法。

<input type="text" id="fix"> ------script----- var last; $("#fix").on('input propertychange', function(event){ //"#fix为你的输入框 last = event.timeStamp; //利用event的timeStamp来标记时间,这样每次事件都会修改last的值,注意last必需为全局变量 setTimeout(function(){ //设时延迟0.5s执行 if(last-event.timeStamp==0) //如果时间差为0(也就是你停止输入0.5s之内都没有其它的keyup事件发生)则做你想要做的事 { console.log($("#fix").val()) } },500); });

总结

这篇文章主要介绍了html5 input输入实时检测以及延时优化问题,有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。

上网查了一下,

赶紧加个定时器setTimeout.

第一想法是input 上的onchange()方法,试了一下,不好用,是值等更改确认了,才会触发,不即时。

$("#fix").on('input propertychange', function(event){ });

方法的确可以用,但是实时更改。发送的频率有点快啊。

-----html-----

时间戳法。

本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供学习参考!
本文地址为 https://v30.fanwenzhu.com/jiaob/cssm/6049.shtml

相关文章

风云图片

推荐阅读

返回CSS/HTML频道首页